struct _DMA_FUNCTION_TABLE// Size=0x50
{
    void  ( * InitializeController)(void * );// Offset=0x0 Size=0x8
    unsigned char  ( * ValidateRequestLineBinding)(void * ,struct _DMA_REQUEST_LINE_BINDING_DESCRIPTION * );// Offset=0x8 Size=0x8
    unsigned long  ( * QueryMaxFragments)(void * ,unsigned long ,unsigned long );// Offset=0x10 Size=0x8
    void  ( * ProgramChannel)(void * ,unsigned long ,unsigned long ,struct _DMA_SCATTER_GATHER_LIST * ,union _LARGE_INTEGER ,unsigned char ,unsigned char );// Offset=0x18 Size=0x8
    long  ( * ConfigureChannel)(void * ,unsigned long ,unsigned long ,void * );// Offset=0x20 Size=0x8
    void  ( * FlushChannel)(void * ,unsigned long );// Offset=0x28 Size=0x8
    unsigned char  ( * HandleInterrupt)(void * ,unsigned long * ,enum _DMA_INTERRUPT_TYPE * );// Offset=0x30 Size=0x8
    unsigned long  ( * ReadDmaCounter)(void * ,unsigned long );// Offset=0x38 Size=0x8
    void  ( * ReportCommonBuffer)(void * ,unsigned long ,void * ,union _LARGE_INTEGER );// Offset=0x40 Size=0x8
    unsigned char  ( * CancelTransfer)(void * ,unsigned long );// Offset=0x48 Size=0x8
};